--------------------------------------------------------- File Leggimi di Microsoft ActiveX(R) Data Objects Extensions for DDL and Security --------------------------------------------------------- (c) 1998 Microsoft Corporation. Tutti i diritti riservati. In questo documento vengono fornite informazioni aggiornate e complementari alla documentazione di Microsoft ADO Extensions for DDL and Security (ADOX). -------- SOMMARIO -------- 1. DESCRIZIONE DEL PRODOTTO 2. CARATTERISTICHE 3. NOTE TECNICHE 4. PROBLEMI NOTI, LIMITAZIONI E SOLUZIONI ALTERNATIVE ---------------------- 1. DESCRIZIONE DEL PRODOTTO ---------------------- Microsoft(r) ActiveX(r) Data Objects Extensions for Data Definition Language and Security (ADOX) rappresenta un'estensione del modello di programmazione e degli oggetti ADO. ADOX include oggetti sia per la creazione e la modifica dello schema che per la protezione. Poiché l'approccio alla manipolazione dello schema è basato sugli oggetti, è possibile scrivere codice utilizzabile con diverse origini dati indipendentemente dalle differenze delle relative sintassi native. --------------- 2. CARATTERISTICHE --------------- ADOX è una libreria di accompagnamento agli oggetti ADO di base. Presenta oggetti aggiuntivi per la creazione, la modifica e l'eliminazione di oggetti dello schema quali tabelle e procedure. Include inoltre oggetti di protezione per gestire utenti e gruppi e per concedere e revocare autorizzazioni sugli oggetti. ------------------ 3. NOTE TECNICHE ------------------ 3.1 Proprietà necessarie e facoltative di oggetti Table, Index e Column È possibile che alcune proprietà degli oggetti Table, Index e Column non siano supportate dal provider di dati. Se è stata impostata una proprietà non supportata dal provider si verificherà un errore. Per le tabelle, gli indici e le colonne nuove l'errore si verificherà all'aggiunta del relativo oggetto all'insieme. Per gli oggetti esistenti, l'errore si verificherà invece all'impostazione della proprietà. Alla creazione di un oggetto Table, Index o Column, l'esistenza di un valore predefinito corretto per una proprietà facoltativa non garantisce che la proprietà sia supportata dal provider. Per ulteriori informazioni sulle proprietà supportate, consultare la documentazione del provider. 3.2 Utilizzo di ADOX con provider Microsoft OLE DB A seconda del provider di dati OLE DB, determinate caratteristiche di ADOX non sono supportate. ADOX è invece supportato completamente con il provider Microsoft OLE DB per il modulo di gestione di database Microsoft Jet. Per i provider Microsoft OLE DB per SQL Server, ODBC o Oracle fare riferimento alle informazioni riportate di seguito. ADOX non è supportato da nessun altro provider Microsoft OLE DB. Provider Microsoft OLE DB per SQL Server Sono supportati tutti gli oggetti, gli insiemi, le proprietà e i metodi ADOX ad eccezione dei seguenti: Catalog: metodo Create. Tables: le proprietà per le tabelle esistenti sono di sola lettura mentre quelle delle tabelle nuove possono essere di lettura-scrittura. Views: non supportato. Procedures: metodi Append e Delete e proprietà Command. Keys: metodi Append e Delete. Users: non supportato. Groups: non supportato. Provider Microsoft OLE DB per ODBC Sono supportati tutti gli oggetti, gli insiemi, le proprietà e i metodi ADOX ad eccezione dei seguenti: Catalog: metodo Create. Tables: metodi Append e Delete. Le proprietà per le tabelle esistenti sono di sola lettura mentre quelle delle tabelle nuove possono essere di lettura-scrittura. Views: metodi Append e Delete e proprietà Command. Procedures: metodi Append e Delete e proprietà Command. Indexes: metodi Append e Delete. Keys: metodi Append e Delete. Users: non supportato. Groups: non supportato. Provider Microsoft OLE DB per Oracle Sono supportati tutti gli oggetti, gli insiemi, le proprietà e i metodi ADOX ad eccezione dei seguenti: Catalog: metodo Create. Tables: metodi Append e Delete. Le proprietà per le tabelle esistenti sono di sola lettura mentre quelle delle tabelle nuove possono essere di lettura-scrittura. Views: metodi Append e Delete e proprietà Command. Procedures: metodi Append e Delete e proprietà Command. Indexes: metodi Append e Delete. Keys: metodi Append e Delete. Users: non supportato. Groups: non supportato. ----------------- 4. PROBLEMI NOTI, LIMITAZIONI E SOLUZIONI ALTERNATIVE ----------------- Di seguito sono elencati i problemi noti di ADOX. 4.1 Le proprietà DateCreated e DateModified richiedono l'aggiornamento Le proprietà DateCreated e DateModified hanno valore NULL per i nuovi oggetti aggiunti. Una volta aggiunta una nuova visualizzazione o procedura, chiamare il metodo Refresh dell'insieme Views o Procedures per ottenere valori per le proprietà DateCreated e DateModified. 4.2 Nessuna proprietà ParentCatalog per gli oggetti Index Nella Guida in linea di ADOX ParentCatalog è presente erroneamente nell'elenco delle proprietà degli oggetti Index. ParentCatalog è in realtà una proprietà solo degli oggetti Column e Table. 4.3 adAccessRevoke ha la precedenza sul parametro Rights di SetPermissions Alla chiamata del metodo SetPermissions di un gruppo o di un utente, l'impostazione del parametro Actions su adAccessRevoke ha la precedenza su qualsiasi impostazione del parametro Rights. Se si desidera che i diritti specificati nel parametro Rights abbiano effetto, non impostare quindi Actions su adAccessRevoke. 4.4 Parametro RelatedColumn del metodo Append (insieme Keys) La documentazione per il metodo Append dell'insieme Keys deve includere un quarto parametro facoltativo denominato RelatedColumn. La sintassi aggiornata è riportata di seguito: Keys.Append Key [, KeyType] [, Column] [, RelatedTable] [, RelatedColumn] Il parametro RelatedColumn è facoltativo. Si tratta di un valore String che specifica il nome della colonna correlata per una chiave esterna. Il parametro RelatedTable può corrispondere al valore della proprietà Name di un oggetto Column. 4.5 Valore Enum adIndexNullsAllow della proprietà IndexNulls La documentazione per la proprietà IndexNulls dell'oggetto Index deve includere un'altra costante Enum nella tabella dei valori validi: adIndexNullsAllow L'indice consente elementi con valori Null nelle colonne chiave. Se in una colonna chiave viene specificato un valore Null, l'elemento verrà inserito nell'indice.